Identity Management in Internet of Things with Blockchain
229
by not revealing the accounts involved in them using ZK-SNARKs proofs. The
transactions are performed just like in the Bitcoin blockchain with the only difference
that instead of logging accounts for the sender and the receiver of Bitcoins, the
respective ZKP proofs are logged in the blocks. These proofs intent to persuade
verifiers that the input and the output values sums are equal in UTXOs, the sender
of a Bitcoin amount owns the private spending keys and that the transaction cannot
be modified by anyone but those who participate in it [38].
4.1.4
ZKP Identity and Authentication Adoptions in IoT
The implementation of ZKPs in IoT is a matter rather difficult to be handled due
to the low computational performance of low-end / edge devices such as sensors or
actuators. Cryptographic computations are not simple and demand a small amount
of core processing speed, which could be proved to be too high for such a device.
This is why many of the solutions and algorithms which implicate ZKP and IoT
for privacy and identification focus on the low computational need of generating a
ZKP. Table 2 summarizes four ZKP-based solutions which have been tested in IoT
environments and will be analyzed in this section.
The ZK-SNARKs can offer the potential of low computational need due to their
“succinct” characteristic. In [39], the authors propose an architecture that utilizes
ZK-SNARKs for producing VCs. However, their solution focuses on the network
provenance of an IoT system and not on the authentication of low-end devices, while
the performance tests are run using the Ethereum platform and a personal computer
with considerably higher processing power.
In [40], a novel protocol named Zero-Knowledge Proof of Location (zk-Pol) is
presented. Proof-of-Location is a technique where a user must provide a proof that
he/she is located on a specific geographical area which is correlated to certain access
points. The zk-Pol protocol offers security for IoT by leveraging the same technique
and additionally maintains privacy by withholding the information of location using
ZKPs. However, once again this protocol is focused on the users of an IoT system
and not the edge devices, although the metrics of the experimental performance are
rather efficient.
Finally, there is one type of ZKPs which is more suitable for IoT systems. They
are called graph-based ZKP methods and their computations involve graph theory
Table 2 Brief comparison of
ZKP protocols for IoT
authentication
Computational
need
Data overhead
Point of
application
ZK-Snarks
Low
Medium
Gateways
zk-Pol
Medium
Medium
Users’
interface
M-ZKP
Low
High
Edge
M-ZAS
Low
Low
Edge